#include <iostream>
using namespace std;

// 内部类是外部类的私有

class A
{
private:
	static int k;
	int h;
public:
	void func()
	{}

	//内部类
	//A和B是平行的类，独立的类，放到A里面
	//仅仅收到类域限制
	class B // B天生就是A的友元
	{
	public:
		void foo(const A& a)
		{
			//cout << k << endl;//OK
			//cout << a.h << endl;//OK
		}
	private:
		int _b;
	};

};

int A::k = 1;

int main()
{
	cout << sizeof(A) << endl; // -> 4

	A a1;
	//B b1;//不可以，因为找不到
	A::B b1;

	return 0;
}